home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / dev / c / libiconv_src.lha / src / encodings.def < prev    next >
Encoding:
Text File  |  2000-11-07  |  28.3 KB  |  776 lines

  1. /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
  2.    This file is part of the GNU ICONV Library.
  3.  
  4.    The GNU ICONV Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Library General Public License as
  6.    published by the Free Software Foundation; either version 2 of the
  7.    License, or (at your option) any later version.
  8.  
  9.    The GNU ICONV Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Library General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Library General Public
  15.    License along with the GNU ICONV Library; see the file COPYING.LIB.  If not,
  16.    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17.    Boston, MA 02111-1307, USA.  */
  18.  
  19. /* The list of all system independent user-visible encodings. */
  20.  
  21. /* By convention, an encoding named FOOBAR or FOO_BAR or FOO-BAR is defined
  22.    in a file named "foobar.h" through the functions foobar_mbtowc and
  23.    foobar_wctomb (and possibly foobar_reset). */
  24.  
  25. /* DEFENCODING(( name, alias1, ..., ),
  26.                xxx,
  27.                { xxx_mbtowc },
  28.                { xxx_wctomb, xxx_reset })
  29.    defines an encoding with the given name and aliases. (There is no
  30.    difference between a name and an alias. By convention, the name is chosen
  31.    as the preferred MIME name or the standard name.)
  32.    All names and aliases must be in ASCII. Case is not significant, but
  33.    for the "cs*" aliases mixed case is preferred, otherwise UPPERCASE is
  34.    preferred. For all names and aliases, note where it comes from.
  35.    xxx is the name as used in the C code (lowercase).
  36.  */
  37.  
  38.  
  39. DEFENCODING(( "US-ASCII",               /* IANA */
  40.               "ASCII",                  /* IANA, JDK 1.1 */
  41.               "ISO646-US",              /* IANA */
  42.               "ISO_646.IRV:1991",       /* IANA */
  43.               "ISO-IR-6",               /* IANA */
  44.               "ANSI_X3.4-1968",         /* IANA */
  45.               "CP367",                  /* IANA */
  46.               "IBM367",                 /* IANA */
  47.               "US",                     /* IANA */
  48.               "csASCII",                /* IANA */
  49.             /*"ISO646.1991-IRV",           X11R6.4 */
  50.             ),
  51.             ascii,
  52.             { ascii_mbtowc },             { ascii_wctomb, NULL })
  53.  
  54. /* General multi-byte encodings */
  55.  
  56. DEFENCODING(( "UTF-8",                  /* IANA, RFC 2279 */
  57.             /*"UTF8",                      JDK 1.1 */
  58.             ),
  59.             utf8,
  60.             { utf8_mbtowc },              { utf8_wctomb, NULL })
  61.  
  62. DEFENCODING(( "UCS-2",                  /* glibc */
  63.               "ISO-10646-UCS-2",        /* IANA */
  64.               "csUnicode",              /* IANA */
  65.             ),
  66.             ucs2,
  67.             { ucs2_mbtowc },              { ucs2_wctomb, NULL })
  68.  
  69. DEFENCODING(( "UCS-2BE",                /* glibc */
  70.               "UNICODEBIG",             /* glibc */
  71.               "UNICODE-1-1",            /* IANA */
  72.               "csUnicode11",            /* IANA */
  73.             ),
  74.             ucs2be,
  75.             { ucs2be_mbtowc },            { ucs2be_wctomb, NULL })
  76.  
  77. DEFENCODING(( "UCS-2LE",                /* glibc */
  78.               "UNICODELITTLE",          /* glibc */
  79.             ),
  80.             ucs2le,
  81.             { ucs2le_mbtowc },            { ucs2le_wctomb, NULL })
  82.  
  83. DEFENCODING(( "UCS-4",                  /* glibc */
  84.               "ISO-10646-UCS-4",        /* IANA */
  85.               "csUCS4",                 /* IANA */
  86.             ),
  87.             ucs4,
  88.             { ucs4_mbtowc },              { ucs4_wctomb, NULL })
  89.  
  90. DEFENCODING(( "UCS-4BE",                /* glibc */
  91.             ),
  92.             ucs4be,
  93.             { ucs4be_mbtowc },            { ucs4be_wctomb, NULL })
  94.  
  95. DEFENCODING(( "UCS-4LE",                /* glibc */
  96.             ),
  97.             ucs4le,
  98.             { ucs4le_mbtowc },            { ucs4le_wctomb, NULL })
  99.  
  100. DEFENCODING(( "UTF-16",                 /* RFC 2781 */
  101.             ),
  102.             utf16,
  103.             { utf16_mbtowc },             { utf16_wctomb, NULL })
  104.  
  105. DEFENCODING(( "UTF-16BE",               /* RFC 2781 */
  106.             ),
  107.             utf16be,
  108.             { utf16be_mbtowc },           { utf16be_wctomb, NULL })
  109.  
  110. DEFENCODING(( "UTF-16LE",               /* RFC 2781 */
  111.             ),
  112.             utf16le,
  113.             { utf16le_mbtowc },           { utf16le_wctomb, NULL })
  114.  
  115. DEFENCODING(( "UTF-7",                  /* IANA, RFC 2152 */
  116.               "UNICODE-1-1-UTF-7",      /* IANA, RFC 1642 */
  117.               "csUnicode11UTF7",        /* IANA */
  118.             ),
  119.             utf7,
  120.             { utf7_mbtowc },              { utf7_wctomb, utf7_reset })
  121.  
  122. DEFENCODING(( "UCS-2-INTERNAL",         /* libiconv */
  123.             ),
  124.             ucs2internal,
  125.             { ucs2internal_mbtowc },      { ucs2internal_wctomb, NULL })
  126.  
  127. DEFENCODING(( "UCS-2-SWAPPED",          /* libiconv */
  128.             ),
  129.             ucs2swapped,
  130.             { ucs2swapped_mbtowc },       { ucs2swapped_wctomb, NULL })
  131.  
  132. DEFENCODING(( "UCS-4-INTERNAL",         /* libiconv */
  133.             ),
  134.             ucs4internal,
  135.             { ucs4internal_mbtowc },      { ucs4internal_wctomb, NULL })
  136.  
  137. DEFENCODING(( "UCS-4-SWAPPED",          /* libiconv */
  138.             ),
  139.             ucs4swapped,
  140.             { ucs4swapped_mbtowc },       { ucs4swapped_wctomb, NULL })
  141.  
  142. DEFENCODING(( "JAVA",
  143.             ),
  144.             java,
  145.             { java_mbtowc },              { java_wctomb, NULL })
  146.  
  147. /* Standard 8-bit encodings */
  148.  
  149. DEFENCODING(( "ISO-8859-1",             /* IANA */
  150.               "ISO_8859-1",             /* IANA */
  151.               "ISO_8859-1:1987",        /* IANA */
  152.               "ISO-IR-100",             /* IANA */
  153.               "CP819",                  /* IANA */
  154.               "IBM819",                 /* IANA */
  155.               "LATIN1",                 /* IANA */
  156.               "L1",                     /* IANA */
  157.               "csISOLatin1",            /* IANA */
  158.             /*"ISO8859-1",                 X11R6.4 */
  159.             /*"ISO8859_1",                 JDK 1.1 */
  160.             ),
  161.             iso8859_1,
  162.             { iso8859_1_mbtowc },         { iso8859_1_wctomb, NULL })
  163.  
  164. DEFENCODING(( "ISO-8859-2",             /* IANA */
  165.               "ISO_8859-2",             /* IANA */
  166.               "ISO_8859-2:1987",        /* IANA */
  167.               "ISO-IR-101",             /* IANA */
  168.               "LATIN2",                 /* IANA */
  169.               "L2",                     /* IANA */
  170.               "csISOLatin2",            /* IANA */
  171.             /*"ISO8859-2",                 X11R6.4 */
  172.             /*"ISO8859_2",                 JDK 1.1 */
  173.             ),
  174.             iso8859_2,
  175.             { iso8859_2_mbtowc },         { iso8859_2_wctomb, NULL })
  176.  
  177. DEFENCODING(( "ISO-8859-3",             /* IANA */
  178.               "ISO_8859-3",             /* IANA */
  179.               "ISO_8859-3:1988",        /* IANA */
  180.               "ISO-IR-109",             /* IANA */
  181.               "LATIN3",                 /* IANA */
  182.               "L3",                     /* IANA */
  183.               "csISOLatin3",            /* IANA */
  184.             /*"ISO8859-3",                 X11R6.4 */
  185.             /*"ISO8859_3",                 JDK 1.1 */
  186.             ),
  187.             iso8859_3,
  188.             { iso8859_3_mbtowc },         { iso8859_3_wctomb, NULL })
  189.  
  190. DEFENCODING(( "ISO-8859-4",             /* IANA */
  191.               "ISO_8859-4",             /* IANA */
  192.               "ISO_8859-4:1988",        /* IANA */
  193.               "ISO-IR-110",             /* IANA */
  194.               "LATIN4",                 /* IANA */
  195.               "L4",                     /* IANA */
  196.               "csISOLatin4",            /* IANA */
  197.             /*"ISO8859-4",                 X11R6.4 */
  198.             /*"ISO8859_4",                 JDK 1.1 */
  199.             ),
  200.             iso8859_4,
  201.             { iso8859_4_mbtowc },         { iso8859_4_wctomb, NULL })
  202.  
  203. DEFENCODING(( "ISO-8859-5",             /* IANA */
  204.               "ISO_8859-5",             /* IANA */
  205.               "ISO_8859-5:1988",        /* IANA */
  206.               "ISO-IR-144",             /* IANA */
  207.               "CYRILLIC",               /* IANA */
  208.               "csISOLatinCyrillic",     /* IANA */
  209.             /*"ISO8859-5",                 X11R6.4 */
  210.             /*"ISO8859_5",                 JDK 1.1 */
  211.             ),
  212.             iso8859_5,
  213.             { iso8859_5_mbtowc },         { iso8859_5_wctomb, NULL })
  214.  
  215. DEFENCODING(( "ISO-8859-6",             /* IANA */
  216.               "ISO_8859-6",             /* IANA */
  217.               "ISO_8859-6:1987",        /* IANA */
  218.               "ISO-IR-127",             /* IANA */
  219.               "ECMA-114",               /* IANA */
  220.               "ASMO-708",               /* IANA */
  221.               "ARABIC",                 /* IANA */
  222.               "csISOLatinArabic",       /* IANA */
  223.             /*"ISO8859-6",                 X11R6.4 */
  224.             /*"ISO8859_6",                 JDK 1.1 */
  225.             ),
  226.             iso8859_6,
  227.             { iso8859_6_mbtowc },         { iso8859_6_wctomb, NULL })
  228.  
  229. DEFENCODING(( "ISO-8859-7",             /* IANA, RFC 1947 */
  230.               "ISO_8859-7",             /* IANA */
  231.               "ISO_8859-7:1987",        /* IANA */
  232.               "ISO-IR-126",             /* IANA */
  233.               "ECMA-118",               /* IANA */
  234.               "ELOT_928",               /* IANA */
  235.               "GREEK8",                 /* IANA */
  236.               "GREEK",                  /* IANA */
  237.               "csISOLatinGreek",        /* IANA */
  238.             /*"ISO8859-7",                 X11R6.4 */
  239.             /*"ISO8859_7",                 JDK 1.1 */
  240.             ),
  241.             iso8859_7,
  242.             { iso8859_7_mbtowc },         { iso8859_7_wctomb, NULL })
  243.  
  244. DEFENCODING(( "ISO-8859-8",             /* IANA */
  245.               "ISO_8859-8",             /* IANA */
  246.               "ISO_8859-8:1988",        /* IANA */
  247.               "ISO-IR-138",             /* IANA */
  248.               "HEBREW",                 /* IANA */
  249.               "csISOLatinHebrew",       /* IANA */
  250.             /*"ISO8859-8",                 X11R6.4 */
  251.             /*"ISO8859_8",                 JDK 1.1 */
  252.             ),
  253.             iso8859_8,
  254.             { iso8859_8_mbtowc },         { iso8859_8_wctomb, NULL })
  255.  
  256. DEFENCODING(( "ISO-8859-9",             /* IANA */
  257.               "ISO_8859-9",             /* IANA */
  258.               "ISO_8859-9:1989",        /* IANA */
  259.               "ISO-IR-148",             /* IANA */
  260.               "LATIN5",                 /* IANA */
  261.               "L5",                     /* IANA */
  262.               "csISOLatin5",            /* IANA */
  263.             /*"ISO8859-9",                 X11R6.4 */
  264.             /*"ISO8859_9",                 JDK 1.1 */
  265.             ),
  266.             iso8859_9,
  267.             { iso8859_9_mbtowc },         { iso8859_9_wctomb, NULL })
  268.  
  269. DEFENCODING(( "ISO-8859-10",
  270.               "ISO_8859-10",
  271.               "ISO_8859-10:1992",       /* IANA */
  272.               "ISO-IR-157",             /* IANA */
  273.               "LATIN6",                 /* IANA */
  274.               "L6",                     /* IANA */
  275.               "csISOLatin6",            /* IANA */
  276.             /*"ISO8859-10",                X11R6.4 */
  277.             ),
  278.             iso8859_10,
  279.             { iso8859_10_mbtowc },        { iso8859_10_wctomb, NULL })
  280.  
  281. DEFENCODING(( "ISO-8859-13",            /* glibc */
  282.               "ISO_8859-13",
  283.               "ISO-IR-179",             /* glibc */
  284.               "LATIN7",                 /* glibc */
  285.               "L7",                     /* glibc */
  286.             ),
  287.             iso8859_13,
  288.             { iso8859_13_mbtowc },        { iso8859_13_wctomb, NULL })
  289.  
  290. DEFENCODING(( "ISO-8859-14",            /* glibc */
  291.               "ISO_8859-14",
  292.               "ISO_8859-14:1998",       /* glibc */
  293.               "ISO-IR-199",
  294.               "LATIN8",                 /* glibc */
  295.               "L8",                     /* glibc */
  296.             ),
  297.             iso8859_14,
  298.             { iso8859_14_mbtowc },        { iso8859_14_wctomb, NULL })
  299.  
  300. DEFENCODING(( "ISO-8859-15",            /* glibc */
  301.               "ISO_8859-15",            /* IANA */
  302.               "ISO_8859-15:1998",       /* glibc */
  303.               "ISO-IR-203",
  304.             ),
  305.             iso8859_15,
  306.             { iso8859_15_mbtowc },        { iso8859_15_wctomb, NULL })
  307.  
  308. DEFENCODING(( "ISO-8859-16",
  309.               "ISO_8859-16",
  310.               "ISO_8859-16:2000",
  311.               "ISO-IR-226",
  312.             ),
  313.             iso8859_16,
  314.             { iso8859_16_mbtowc },        { iso8859_16_wctomb, NULL })
  315.  
  316. DEFENCODING(( "KOI8-R",                 /* IANA, RFC 1489, X11R6.4, JDK 1.1 */
  317.               "csKOI8R",                /* IANA */
  318.             ),
  319.             koi8_r,
  320.             { koi8_r_mbtowc },            { koi8_r_wctomb, NULL })
  321.  
  322. DEFENCODING(( "KOI8-U",                 /* IANA, RFC 2319 */
  323.             ),
  324.             koi8_u,
  325.             { koi8_u_mbtowc },            { koi8_u_wctomb, NULL })
  326.  
  327. DEFENCODING(( "KOI8-RU",
  328.             ),
  329.             koi8_ru,
  330.             { koi8_ru_mbtowc },           { koi8_ru_wctomb, NULL })
  331.  
  332. /* Windows 8-bit encodings */
  333.  
  334. DEFENCODING(( "CP1250",                 /* JDK 1.1 */
  335.               "WINDOWS-1250",           /* IANA */
  336.               "MS-EE",
  337.             ),
  338.             cp1250,
  339.             { cp1250_mbtowc },            { cp1250_wctomb, NULL })
  340.  
  341. DEFENCODING(( "CP1251",                 /* JDK 1.1 */
  342.               "WINDOWS-1251",           /* IANA */
  343.               "MS-CYRL",
  344.             ),
  345.             cp1251,
  346.             { cp1251_mbtowc },            { cp1251_wctomb, NULL })
  347.  
  348. DEFENCODING(( "CP1252",                 /* JDK 1.1 */
  349.               "WINDOWS-1252",
  350.               "MS-ANSI",
  351.             ),
  352.             cp1252,
  353.             { cp1252_mbtowc },            { cp1252_wctomb, NULL })
  354.  
  355. DEFENCODING(( "CP1253",                 /* JDK 1.1 */
  356.               "WINDOWS-1253",           /* IANA */
  357.               "MS-GREEK",
  358.             ),
  359.             cp1253,
  360.             { cp1253_mbtowc },            { cp1253_wctomb, NULL })
  361.  
  362. DEFENCODING(( "CP1254",                 /* JDK 1.1 */
  363.               "WINDOWS-1254",           /* IANA */
  364.               "MS-TURK",
  365.             ),
  366.             cp1254,
  367.             { cp1254_mbtowc },            { cp1254_wctomb, NULL })
  368.  
  369. DEFENCODING(( "CP1255",                 /* JDK 1.1 */
  370.               "WINDOWS-1255",           /* IANA */
  371.               "MS-HEBR",
  372.             ),
  373.             cp1255,
  374.             { cp1255_mbtowc },            { cp1255_wctomb, NULL })
  375.  
  376. DEFENCODING(( "CP1256",                 /* JDK 1.1 */
  377.               "WINDOWS-1256",           /* IANA */
  378.               "MS-ARAB",
  379.             ),
  380.             cp1256,
  381.             { cp1256_mbtowc },            { cp1256_wctomb, NULL })
  382.  
  383. DEFENCODING(( "CP1257",                 /* JDK 1.1 */
  384.               "WINDOWS-1257",           /* IANA */
  385.               "WINBALTRIM",
  386.             ),
  387.             cp1257,
  388.             { cp1257_mbtowc },            { cp1257_wctomb, NULL })
  389.  
  390. DEFENCODING(( "CP1258",                 /* JDK 1.1 */
  391.               "WINDOWS-1258",           /* IANA */
  392.             ),
  393.             cp1258,
  394.             { cp1258_mbtowc },            { cp1258_wctomb, NULL })
  395.  
  396. /* DOS 8-bit encodings */
  397.  
  398. DEFENCODING(( "CP850",                  /* IANA, JDK 1.1 */
  399.               "IBM850",                 /* IANA */
  400.               "850",                    /* IANA */
  401.               "csPC850Multilingual",    /* IANA */
  402.             ),
  403.             cp850,
  404.             { cp850_mbtowc },             { cp850_wctomb, NULL })
  405.  
  406. DEFENCODING(( "CP866",                  /* IANA, JDK 1.1 */
  407.               "IBM866",                 /* IANA */
  408.               "866",                    /* IANA */
  409.               "csIBM866",               /* IANA */
  410.             ),
  411.             cp866,
  412.             { cp866_mbtowc },             { cp866_wctomb, NULL })
  413.  
  414. /* Macintosh 8-bit encodings */
  415.  
  416. DEFENCODING(( "MacRoman",               /* JDK 1.1 */
  417.               /* This is the best table for MACINTOSH. The ones */
  418.               /* in glibc and FreeBSD-iconv are bad quality. */
  419.               "MACINTOSH",              /* IANA */
  420.               "MAC",                    /* IANA */
  421.               "csMacintosh",            /* IANA */
  422.             ),
  423.             mac_roman,
  424.             { mac_roman_mbtowc },         { mac_roman_wctomb, NULL })
  425.  
  426. DEFENCODING(( "MacCentralEurope",       /* JDK 1.1 */
  427.             ),
  428.             mac_centraleurope,
  429.             { mac_centraleurope_mbtowc }, { mac_centraleurope_wctomb, NULL })
  430.  
  431. DEFENCODING(( "MacIceland",             /* JDK 1.1 */
  432.             ),
  433.             mac_iceland,
  434.             { mac_iceland_mbtowc },       { mac_iceland_wctomb, NULL })
  435.  
  436. DEFENCODING(( "MacCroatian",            /* JDK 1.1 */
  437.             ),
  438.             mac_croatian,
  439.             { mac_croatian_mbtowc },      { mac_croatian_wctomb, NULL })
  440.  
  441. DEFENCODING(( "MacRomania",             /* JDK 1.1 */
  442.             ),
  443.             mac_romania,
  444.             { mac_romania_mbtowc },       { mac_romania_wctomb, NULL })
  445.  
  446. DEFENCODING(( "MacCyrillic",            /* JDK 1.1 */
  447.             ),
  448.             mac_cyrillic,
  449.             { mac_cyrillic_mbtowc },      { mac_cyrillic_wctomb, NULL })
  450.  
  451. DEFENCODING(( "MacUkraine",             /* JDK 1.1 */
  452.             ),
  453.             mac_ukraine,
  454.             { mac_ukraine_mbtowc },       { mac_ukraine_wctomb, NULL })
  455.  
  456. DEFENCODING(( "MacGreek",               /* JDK 1.1 */
  457.             ),
  458.             mac_greek,
  459.             { mac_greek_mbtowc },         { mac_greek_wctomb, NULL })
  460.  
  461. DEFENCODING(( "MacTurkish",             /* JDK 1.1 */
  462.             ),
  463.             mac_turkish,
  464.             { mac_turkish_mbtowc },       { mac_turkish_wctomb, NULL })
  465.  
  466. DEFENCODING(( "MacHebrew",              /* JDK 1.1 */
  467.             ),
  468.             mac_hebrew,
  469.             { mac_hebrew_mbtowc },        { mac_hebrew_wctomb, NULL })
  470.  
  471. DEFENCODING(( "MacArabic",              /* JDK 1.1 */
  472.             ),
  473.             mac_arabic,
  474.             { mac_arabic_mbtowc },        { mac_arabic_wctomb, NULL })
  475.  
  476. DEFENCODING(( "MacThai",                /* JDK 1.1 */
  477.             ),
  478.             mac_thai,
  479.             { mac_thai_mbtowc },          { mac_thai_wctomb, NULL })
  480.  
  481. /* Other platform specific 8-bit encodings */
  482.  
  483. DEFENCODING(( "HP-ROMAN8",              /* IANA, X11R6.4 */
  484.               "ROMAN8",                 /* IANA */
  485.               "R8",                     /* IANA */
  486.               "csHPRoman8",             /* IANA */
  487.             ),
  488.             hp_roman8,
  489.             { hp_roman8_mbtowc },         { hp_roman8_wctomb, NULL })
  490.  
  491. DEFENCODING(( "NEXTSTEP",
  492.             ),
  493.             nextstep,
  494.             { nextstep_mbtowc },          { nextstep_wctomb, NULL })
  495.  
  496. /* Regional 8-bit encodings used for a single language */
  497.  
  498. DEFENCODING(( "ARMSCII-8",
  499.             ),
  500.             armscii_8,
  501.             { armscii_8_mbtowc },         { armscii_8_wctomb, NULL })
  502.  
  503. DEFENCODING(( "GEORGIAN-ACADEMY",
  504.             ),
  505.             georgian_academy,
  506.             { georgian_academy_mbtowc },  { georgian_academy_wctomb, NULL })
  507.  
  508. DEFENCODING(( "GEORGIAN-PS",
  509.             ),
  510.             georgian_ps,
  511.             { georgian_ps_mbtowc },       { georgian_ps_wctomb, NULL })
  512.  
  513. DEFENCODING(( "MULELAO-1",
  514.             ),
  515.             mulelao,
  516.             { mulelao_mbtowc },           { mulelao_wctomb, NULL })
  517.  
  518. DEFENCODING(( "CP1133",
  519.               "IBM-CP1133",
  520.             ),
  521.             cp1133,
  522.             { cp1133_mbtowc },            { cp1133_wctomb, NULL })
  523.  
  524. DEFENCODING(( "TIS-620",                /* IANA */
  525.               "TIS620",                 /* glibc */
  526.               "TIS620-0",               /* glibc */
  527.               "TIS620.2529-1",          /* glibc */
  528.               "TIS620.2533-0",          /* glibc */
  529.               "TIS620.2533-1",
  530.               "ISO-IR-166",             /* glibc */
  531.             ),
  532.             tis620,
  533.             { tis620_mbtowc },            { tis620_wctomb, NULL })
  534.  
  535. DEFENCODING(( "CP874",                  /* JDK 1.1 */
  536.               "WINDOWS-874",
  537.             ),
  538.             cp874,
  539.             { cp874_mbtowc },             { cp874_wctomb, NULL })
  540.  
  541. DEFENCODING(( "VISCII",                 /* IANA, RFC 1456 */
  542.               "VISCII1.1-1",
  543.               "csVISCII",               /* IANA */
  544.             ),
  545.             viscii,
  546.             { viscii_mbtowc },            { viscii_wctomb, NULL })
  547.  
  548. DEFENCODING(( "TCVN",
  549.               "TCVN-5712",
  550.               "TCVN5712-1",
  551.               "TCVN5712-1:1993",
  552.             ),
  553.             tcvn,
  554.             { tcvn_mbtowc },              { tcvn_wctomb, NULL })
  555.  
  556. /* CJK character sets (not documented) */
  557.  
  558. DEFENCODING(( "JIS_C6220-1969-RO",      /* IANA */
  559.               "ISO646-JP",              /* IANA */
  560.               "ISO-IR-14",              /* IANA */
  561.               "JP",                     /* IANA */
  562.               "csISO14JISC6220ro",      /* IANA */
  563.             ),
  564.             iso646_jp,
  565.             { iso646_jp_mbtowc },         { iso646_jp_wctomb, NULL })
  566.  
  567. DEFENCODING(( "JIS_X0201",              /* IANA */
  568.               "JISX0201-1976",
  569.               "X0201",                  /* IANA */
  570.               "csHalfWidthKatakana",    /* IANA */
  571.             /*"JISX0201.1976-0",           X11R6.4 */
  572.             /*"JIS0201",                   JDK 1.1 */
  573.             ),
  574.             jisx0201,
  575.             { jisx0201_mbtowc },          { jisx0201_wctomb, NULL })
  576.  
  577. DEFENCODING(( "JIS_X0208",
  578.               "JIS_X0208-1983",         /* IANA */
  579.               "JIS_X0208-1990",
  580.               "JIS0208",
  581.               "X0208",                  /* IANA */
  582.               "ISO-IR-87",              /* IANA */
  583.               "csISO87JISX0208",        /* IANA */
  584.             /*"JISX0208.1983-0",           X11R6.4 */
  585.             /*"JISX0208.1990-0",           X11R6.4 */
  586.             /*"JIS0208",                   JDK 1.1 */
  587.             ),
  588.             jisx0208,
  589.             { jisx0208_mbtowc },          { jisx0208_wctomb, NULL })
  590.  
  591. DEFENCODING(( "JIS_X0212",
  592.               "JIS_X0212.1990-0",
  593.               "JIS_X0212-1990",         /* IANA */
  594.               "X0212",                  /* IANA */
  595.               "ISO-IR-159",             /* IANA */
  596.               "csISO159JISX02121990",   /* IANA */
  597.             /*"JISX0212.1990-0",           X11R6.4 */
  598.             /*"JIS0212",                   JDK 1.1 */
  599.             ),
  600.             jisx0212,
  601.             { jisx0212_mbtowc },          { jisx0212_wctomb, NULL })
  602.  
  603. DEFENCODING(( "GB_1988-80",             /* IANA */
  604.               "ISO646-CN",              /* IANA */
  605.               "ISO-IR-57",              /* IANA */
  606.               "CN",                     /* IANA */
  607.               "csISO57GB1988",          /* IANA */
  608.             ),
  609.             iso646_cn,
  610.             { iso646_cn_mbtowc },         { iso646_cn_wctomb, NULL })
  611.  
  612. DEFENCODING(( "GB_2312-80",             /* IANA */
  613.               "ISO-IR-58",              /* IANA */
  614.               "csISO58GB231280",        /* IANA */
  615.               "CHINESE",                /* IANA */
  616.             /*"GB2312.1980-0",             X11R6.4 */
  617.             ),
  618.             gb2312,
  619.             { gb2312_mbtowc },            { gb2312_wctomb, NULL })
  620.  
  621. DEFENCODING(( "ISO-IR-165",
  622.               "CN-GB-ISOIR165",         /* RFC 1922 */
  623.             ),
  624.             isoir165,
  625.             { isoir165_mbtowc },          { isoir165_wctomb, NULL })
  626.  
  627. DEFENCODING(( "KSC_5601",               /* IANA */
  628.               "KS_C_5601-1987",         /* IANA */
  629.               "KS_C_5601-1989",         /* IANA */
  630.               "ISO-IR-149",             /* IANA */
  631.               "csKSC56011987",          /* IANA */
  632.               "KOREAN",                 /* IANA */
  633.             /*"KSC5601.1987-0",            X11R6.4 */
  634.             /*"KSX1001:1992",              Ken Lunde */
  635.             ),
  636.             ksc5601,
  637.             { ksc5601_mbtowc },           { ksc5601_wctomb, NULL })
  638.  
  639. /* CJK encodings */
  640.  
  641. DEFENCODING(( "EUC-JP",                 /* IANA */
  642.               "EUCJP",                  /* glibc */
  643.               "Extended_UNIX_Code_Packed_Format_for_Japanese", /* IANA */
  644.               "csEUCPkdFmtJapanese",    /* IANA */
  645.             /*"EUC_JP",                    JDK 1.1 */
  646.             ),
  647.             euc_jp,
  648.             { euc_jp_mbtowc },            { euc_jp_wctomb, NULL })
  649.  
  650. DEFENCODING(( "SJIS",                   /* JDK 1.1 */
  651.               "SHIFT_JIS",              /* IANA */
  652.               "SHIFT-JIS",              /* glibc */
  653.               "MS_KANJI",               /* IANA */
  654.               "csShiftJIS",             /* IANA */
  655.             ),
  656.             sjis,
  657.             { sjis_mbtowc },              { sjis_wctomb, NULL })
  658.  
  659. DEFENCODING(( "CP932",                  /* glibc */
  660.             ),
  661.             cp932,
  662.             { cp932_mbtowc },             { cp932_wctomb, NULL })
  663.  
  664. DEFENCODING(( "ISO-2022-JP",            /* IANA, RFC 1468 */
  665.               "csISO2022JP",            /* IANA */
  666.             /*"ISO2022JP",                 JDK 1.1 */
  667.             ),
  668.             iso2022_jp,
  669.             { iso2022_jp_mbtowc },        { iso2022_jp_wctomb, iso2022_jp_reset })
  670.  
  671. DEFENCODING(( "ISO-2022-JP-1",          /* RFC 2237 */
  672.             ),
  673.             iso2022_jp1,
  674.             { iso2022_jp1_mbtowc },       { iso2022_jp1_wctomb, iso2022_jp1_reset })
  675.  
  676. DEFENCODING(( "ISO-2022-JP-2",          /* IANA, RFC 1554 */
  677.               "csISO2022JP2",           /* IANA */
  678.             ),
  679.             iso2022_jp2,
  680.             { iso2022_jp2_mbtowc },       { iso2022_jp2_wctomb, iso2022_jp2_reset })
  681.  
  682. DEFENCODING(( "EUC-CN",                 /* glibc */
  683.               "EUCCN",                  /* glibc */
  684.               "GB2312",                 /* IANA */
  685.               "CN-GB",                  /* RFC 1922 */
  686.               "csGB2312",               /* IANA */
  687.             /*"EUC_CN",                    JDK 1.1 */
  688.             ),
  689.             euc_cn,
  690.             { euc_cn_mbtowc },            { euc_cn_wctomb, NULL })
  691.  
  692. DEFENCODING(( "GBK",                    /* JDK 1.1 */
  693.               "CP936",
  694.             ),
  695.             ces_gbk,
  696.             { ces_gbk_mbtowc },           { ces_gbk_wctomb, NULL })
  697.  
  698. DEFENCODING(( "GB18030",                /* glibc */
  699.             ),
  700.             gb18030,
  701.             { gb18030_mbtowc },           { gb18030_wctomb, NULL })
  702.  
  703. DEFENCODING(( "ISO-2022-CN",            /* IANA, RFC 1922 */
  704.               "csISO2022CN",
  705.             /*"ISO2022CN",                 JDK 1.1 */
  706.             ),
  707.             iso2022_cn,
  708.             { iso2022_cn_mbtowc },        { iso2022_cn_wctomb, iso2022_cn_reset })
  709.  
  710. DEFENCODING(( "ISO-2022-CN-EXT",        /* IANA, RFC 1922 */
  711.             ),
  712.             iso2022_cn_ext,
  713.             { iso2022_cn_ext_mbtowc },    { iso2022_cn_ext_wctomb, iso2022_cn_ext_reset })
  714.  
  715. DEFENCODING(( "HZ",                     /* RFC 1843 */
  716.               "HZ-GB-2312",             /* IANA, RFC 1842 */
  717.             ),
  718.             hz,
  719.             { hz_mbtowc },                { hz_wctomb, hz_reset })
  720.  
  721. DEFENCODING(( "EUC-TW",                 /* glibc */
  722.               "EUCTW",                  /* glibc */
  723.               "csEUCTW",
  724.             /*"EUC_TW",                    JDK 1.1 */
  725.             ),
  726.             euc_tw,
  727.             { euc_tw_mbtowc },            { euc_tw_wctomb, NULL })
  728.  
  729. DEFENCODING(( "BIG5",                   /* IANA, JDK 1.1 */
  730.               "BIG-5",                  /* glibc */
  731.               "BIG-FIVE",               /* glibc */
  732.               "BIGFIVE",                /* glibc */
  733.               "CN-BIG5",                /* RFC 1922 */
  734.               "csBig5",                 /* IANA */
  735.             ),
  736.             ces_big5,
  737.             { ces_big5_mbtowc },          { ces_big5_wctomb, NULL })
  738.  
  739. DEFENCODING(( "CP950",                  /* JDK 1.1 */
  740.             ),
  741.             cp950,
  742.             { cp950_mbtowc },             { cp950_wctomb, NULL })
  743.  
  744. DEFENCODING(( "BIG5HKSCS",              /* glibc */
  745.             ),
  746.             big5hkscs,
  747.             { big5hkscs_mbtowc },         { big5hkscs_wctomb, NULL })
  748.  
  749. DEFENCODING(( "EUC-KR",                 /* IANA, RFC 1557 */
  750.               "EUCKR",                  /* glibc */
  751.               "csEUCKR",                /* IANA */
  752.             /*"EUC_KR",                    JDK 1.1 */
  753.             ),
  754.             euc_kr,
  755.             { euc_kr_mbtowc },            { euc_kr_wctomb, NULL })
  756.  
  757. DEFENCODING(( "CP949",                  /* JDK 1.1 */
  758.               "UHC",                    /* glibc */
  759.             ),
  760.             cp949,
  761.             { cp949_mbtowc },             { cp949_wctomb, NULL })
  762.  
  763. DEFENCODING(( "JOHAB",                  /* glibc */
  764.               "CP1361",                 /* glibc */
  765.             ),
  766.             johab,
  767.             { johab_mbtowc },             { johab_wctomb, NULL })
  768.  
  769. DEFENCODING(( "ISO-2022-KR",            /* IANA, RFC 1557 */
  770.               "csISO2022KR",            /* IANA */
  771.             /*"ISO2022KR",                 JDK 1.1 */
  772.             ),
  773.             iso2022_kr,
  774.             { iso2022_kr_mbtowc },        { iso2022_kr_wctomb, iso2022_kr_reset })
  775.  
  776.